filters
Table of contents
표준 Liquid 필터를 모두 지원합니다 (아래 참조).
자주 수행하는 작업들을 더 쉽게하기 위해, Jekyll 만을 위한 몇 가지 유용한 필터가 추가되어 있으며, 모두 이 페이지에 설명되어 있습니다. 게다가 플러그인을 사용하면 자신만의 필터도 만들 수 있습니다.
설명 | 필터와 출력 |
---|---|
Relative URL 입력값 앞에 baseurl 값을 추가한다. 사이트가 최상위 경로가 아닌 하위 경로에서 호스팅 될 경우 유용하다. | {{ "/assets/style.css" | relative_url }} /my-baseurl/assets/style.css |
Absolute URL 입력값 앞에 url 과 baseurl 값을 추가한다. | {{ "/assets/style.css" | absolute_url }} http://example.com/my-baseurl/assets/style.css |
Date to XML Schema 날짜를 XML 스키마 (ISO 8601) 형식으로 변환한다. | {{ site.time | date_to_xmlschema }} 2008-11-07T13:07:54-08:00 |
Date to RFC-822 Format 날짜를 RSS 피드에 사용하는 RFC-822 형식으로 변환한다. | {{ site.time | date_to_rfc822 }} Mon, 07 Nov 2008 13:07:54 -0800 |
Date to String 날짜를 짧은 형식으로 변환한다. | {{ site.time | date_to_string }} 07 Nov 2008 |
Date to String in ordinal US style 날짜를 미국식 짧은 서수형으로 변환한다. 3.8.0 | {{ site.time | date_to_string: "ordinal", "US" }} Nov 7th, 2008 |
Date to Long String 날짜를 긴 형식으로 변환한다. | {{ site.time | date_to_long_string }} 07 November 2008 |
Date to Long String in ordinal UK style 날짜를 영국식 긴 서수형으로 변환한다. 3.8.0 | {{ site.time | date_to_long_string: "ordinal" }} 7th November 2008 |
Where 배열 안에서 특정 키와 값을 가진 객체들을 선택한다. | {{ site.members | where:"graduation_year","2014" }} |
Where Expression 배열 안에서 표현식이 참인 객체들을 선택한다. 3.2.0 | {{ site.members | where_exp:"item", "item.graduation_year == 2014" }} {{ site.members | where_exp:"item", "item.graduation_year < 2014" }} {{ site.members | where_exp:"item", "item.projects contains 'foo'" }} |
Group By 배열 안의 항목들을 특정 속성으로 그룹 짓는다. | {{ site.members | group_by:"graduation_year" }} [{"name"=>"2013", "items"=>[...]}, {"name"=>"2014", "items"=>[...]}] |
Group By Expression 배열 안의 항목들을 Liquid 표현식을 사용해 그룹 짓는다. 3.4.0 | {{ site.members | group_by_exp: "item", "item.graduation_year | truncate: 3, ''" }} [{"name"=>"201", "items"=>[...]}, {"name"=>"200", "items"=>[...]}] |
XML Escape XML 에 사용되는 몇몇 텍스트를 이스케이프 한다. | {{ page.content | xml_escape }} |
CGI Escape URL 에 사용되는 CGI 이스케이프 문자열. 모든 특수문자를 그에 맞는 %XX 로 변환한다. 일반적으로 CGI 이스케이프에서는 공백이 + 문자로 교체된다. | {{ "foo, bar; baz?" | cgi_escape }} foo%2C+bar%3B+baz%3F |
URI Escape URI 에 있는 특수 문자들에 퍼센트 문자 인코딩을 한다. 일반적으로 URI 이스케이프에서는 공백이 %20 로 교체된다. 예약 문자들은 이스케이프되지 않는다. | {{ "http://foo.com/?q=foo, \bar?" | uri_escape }} http://foo.com/?q=foo,%20%5Cbar? |
Number of Words 텍스트 안의 단어 수를 센다. | {{ page.content | number_of_words }} 1337 |
Array to Sentence 배열을 한 문장으로 변환한다. 태그를 나열할 때 유용하다. 커넥터에는 선택사항이다. | {{ page.tags | array_to_sentence_string }} foo, bar, and baz {{ page.tags | array_to_sentence_string: "or" }} foo, bar, or baz |
Markdownify 마크다운 형식 문자열을 HTML 로 변환한다. | {{ page.excerpt | markdownify }} |
Smartify "일반 따옴표" 를 “세련된 따옴표”로 변환한다. | {{ page.title | smartify }} |
Converting Sass/SCSS Sass 또는 SCSS 형식 문자열을 CSS 로 변환한다. | {{ some_sass | sassify }} {{ some_scss | scssify }} |
Slugify 문자열을 소문자 URL "슬러그"로 변환한다. 자세한 옵션은 아래를 참고하시오. | {{ "The _config.yml file" | slugify }} the-config-yml-file {{ "The _config.yml file" | slugify: "pretty" }} the-_config.yml-file {{ "The _cönfig.yml file" | slugify: "ascii" }} the-c-nfig-yml-file {{ "The cönfig.yml file" | slugify: "latin" }} the-config-yml-file |
Data To JSON 해시나 배열을 JSON 으로 변환한다. | {{ site.data.projects | jsonify }} |
Normalize Whitespace 모든 공백문자를 하나의 공백으로 변환한다. | {{ "a \n b" | normalize_whitespace }} |
Sort 배열을 정렬한다. 해시를 위한 추가 전달인자 1. 프로퍼티 이름 2. nils 순서 (first 또는 last). | {{ page.tags | sort }} {{ site.posts | sort: "author" }} {{ site.pages | sort: "title", "last" }} |
Sample 배열에서 랜덤으로 값을 하나 선택한다. 선택사항으로, 값을 여러개 고른다. | {{ site.pages | sample }} {{ site.pages | sample: 2 }} |
To Integer 문자열 또는 부울 값을 정수형으로 변환한다. | {{ some_var | to_integer }} |
Array Filters 배열에 항목을 삽입, 추출, 순환시킨다. 이 필터는 비파괴적이다. 예시, 해당 배열을 직접 변경하지 않고, 복사본을 만든 후 변경한다. | {{ page.tags | push: "Spokane" }} ["Seattle", "Tacoma", "Spokane"] {{ page.tags | pop }} ["Seattle"] {{ page.tags | shift }} ["Tacoma"] {{ page.tags | unshift: "Olympia" }} ["Olympia", "Seattle", "Tacoma"] |
Inspect 디버깅을 위해 객체를 문자열로 표시한다. | {{ some_var | inspect }} |
slugify
필터의 옵션들
slugify
필터에는 옵션이 있어서, 무엇을 필터링할 것인지 선택할 수 있습니다. 디폴트값은 default
입니다. 옵션값(과 그에 대한 필터링 대상)은 다음과 같습니다:
none
: 필터링 안함raw
: 공백문자default
: 알파벳, 숫자가 아닌 문자 또는 공백문자pretty
: 알파벳, 숫자가 아닌 문자 (._~!$&'()+,;=@
제외) 또는 공백문자ascii
: 알파벳, 숫자, ASCII 가 아닌 문자 또는 공백문자latin
:default
와 동일하나, 라틴 문자를 우선적으로 변환한다 (예,àèïòü
를aeiou
로)3.7.0 .
where
필터로 nil
값 찾기4.0
프로퍼티가 nil
이나 ""
인 문서나 페이지를 찾기 위해 where
필터를 사용할 수 있습니다. 예를 들어,
// `nil` 을 사용해서 `my_prop` 이 정의되어 있지 않거나
// 명시적으로 `nil` 이 설정되어 있는 포스트를 찾기
{% assign filtered_posts = site.posts | where: 'my_prop', nil %}
// Liquid 의 특수 리터럴 `empty` 또는 `blank` 를 사용해서
// 변수 `my_prop` 의 값이 비어있는 포스트를 찾기.
{% assign filtered_posts = site.posts | where: 'my_prop', empty %}
이항 연산자와 where_exp
필터4.0
Liquid 의 이항 연산자 or
와 and
를 사용한 표현식을 where_exp
필터에 전달하여 조건문을 여러 개 사용할 수 있습니다.
예를 들어, 영어권의 공포영화에 대한 목록을 얻으려면, 다음 코드를 사용할 수 있을 것입니다:
{{ site.movies | where_exp: "item", "item.genre == 'horror' and item.language == 'English'" }}
또, 만화를 기반으로한 영화의 목록을 얻으려 할 때, 다음과 같이 사용할 수도 있습니다:
{{ site.movies | where_exp: "item", "item.sub_genre == 'MCU' or item.sub_genre == 'DCEU'" }}
기본 Liquid 필터
편의를 돕기 위해, 여기 Liquid 필터 전체 목록에 공식 Liquid 문서의 예제를 링크해두었습니다.